Skip to content

Draft configuration for 20210501 sysroot#5

Open
pfmooney wants to merge 2 commits into
masterfrom
draft-20210501
Open

Draft configuration for 20210501 sysroot#5
pfmooney wants to merge 2 commits into
masterfrom
draft-20210501

Conversation

@pfmooney
Copy link
Copy Markdown
Member

Includes libgss changed proposed by @gwr in #4.

@gwr
Copy link
Copy Markdown
Member

gwr commented Apr 20, 2026

LGTM

@iximeow
Copy link
Copy Markdown

iximeow commented May 14, 2026

sorry for the long turnaround here but: I've been putting some miles on a rustc built from this sysroot and things looks good to me too.

I'll leave some notes here. for relatively uninteresting process reasons I ended up building a sysroot from this config using an OmniOS r151038 (hoping illumos-tools and such would be close) and illumos-gate@39eba7d4e (by virtue of being .. 20210501). this is a slightly different illumos from where Patrick built draft sysroot from, but I believe the difference is only a few backports he did to clean up the build.

initially some combination of pkg install to get tools in the initial r38 VM managed to wedge the system; some .so was updated in a way that no longer was satisfied by the libc.so.1 that was present - it wanted symbols from a newer version of the library. python3 (and pkg) were rendered dead. I couldn't easily reproduce this, but it broke across a pkg install git. the second time around I just scp'd in working trees and out of hesitance did not git, and did not break the VM.

from there a normal ./usr/src/tools/scripts/nightly ./illumos.20210501.sh did the needful, as did gmake archive .. and all.

on the Rust side the steps I took were, on a Linux host (similar to Rust CI):

  • python3 -m http.server to serve sysroot tarballs
  • edit src/ci/docker/scripts/illumos-toolchain.sh for the SYSROOT_* section to point to the new sysroot + localhost to fetch it
  • sudo docker build -t dist-x86_64-illumos -f host-x86_64/dist-x86_64-illumos/Dockerfile . - this is redundant with the following, but was helpful on its own for debugging
  • build src/ci/citool and sudo ./src/ci/citool/target/debug/citool run-local dist-x86_64-illumos

... then wait 40 minutes or whatever for LLVM and the Rust distribution to build. artifacts land at ./obj/dist-x86_64-illumos/build/dist/*.

I copied those off to an illumos machine, extracted them, merged the various usr/, and other directories together (one would want cargo along with their rustc!) and rustup toolchain link sysroot-20210501 rust-nightly-merge/ to use the thing.

I did not run the Rust test suite because I realized along the way that x.py will just rebuild rustc for the tests and I'll have avoided the point of the sysroot. I did go through a bunch of crates (tokio, mio, filetime, dirs-rs, turns out libc-rs has ~0 tests itself, etc etc) and that all checks out.

I also built and tested a bunch of Oxide software and that all seems good too. I found a few test issues, but they reproduced on new and old toolchains, so I think it's boring "my workstation" problems rather than anything interesting here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants